home *** CD-ROM | disk | FTP | other *** search
Text File | 1997-06-28 | 1.9 KB | 109 lines | [TEXT/CWIE] |
- // Sizeable.cp
-
- #ifndef Sizeable_h
- #include "Sizeable.h"
- #endif
- #ifndef MinMax_h
- #include "MinMax.h"
- #endif
- #ifndef Assert_h
- #include "Assert.h"
- #endif
-
- const Sizeable Sizeable::empty;
-
- uint16 Sizeable::MinimumWidth() const
- {
- return 0;
- }
-
- uint16 Sizeable::MinimumHeight() const
- {
- return 0;
- }
-
- PointObject Sizeable::MinimumSize() const
- {
- uint16 width = MinimumWidth();
- uint16 height = MinimumHeight();
-
- Assert( width <= maxint16 );
- Assert( height <= maxint16 );
-
- return PointObject( width, height );
- }
-
- uint16 Sizeable::MaximumWidth() const
- {
- return maxuint16;
- }
-
- uint16 Sizeable::MaximumHeight() const
- {
- return maxuint16;
- }
-
- PointObject Sizeable::MaximumSize() const
- {
- return PointObject( Min( MaximumWidth(), uint16(maxint16) ),
- Min( MaximumHeight(), uint16(maxint16) ) );
- }
-
- uint16 Sizeable::ReasonableWidth() const
- {
- return MinimumWidth();
- }
-
- uint16 Sizeable::ReasonableHeight() const
- {
- return MinimumHeight();
- }
-
- PointObject Sizeable::ReasonableSize() const
- {
- uint16 width = ReasonableWidth();
- uint16 height = ReasonableHeight();
-
- Assert( width <= maxint16 );
- Assert( height <= maxint16 );
-
- return PointObject( width, height );
- }
-
- uint16 Sizeable::BestWidth() const
- {
- return MaximumWidth();
- }
-
- uint16 Sizeable::BestHeight() const
- {
- return MaximumHeight();
- }
-
- PointObject Sizeable::BestSize() const
- {
- return PointObject( Min( BestWidth(), uint16(maxint16) ),
- Min( BestHeight(), uint16(maxint16) ) );
- }
-
- uint16 Sizeable::BestWidth( uint16 bound ) const
- {
- return Min( BestWidth(), bound );
- }
-
- uint16 Sizeable::BestHeight( uint16 bound ) const
- {
- return Min( BestHeight(), bound );
- }
-
- PointObject Sizeable::BestSize( PointObject bound ) const
- {
- uint16 width = BestWidth( bound.h );
- uint16 height = BestHeight( bound.v );
-
- Assert( width <= bound.h );
- Assert( height <= bound.v );
-
- return PointObject( width, height );
- }
-